package com.lpwa.system.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.lpwa.common.annotation.Excel;
import com.lpwa.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 人员表 sys_person
 * 
 * @author tanmu
 * @date 2019-05-30
 */
public class Person extends BaseEntity
{
	private static final long serialVersionUID = 1L;
	
	/** 人员ID */
	@Excel(name = "人员ID")
	private String personId;
	/** 姓名 */
	@Excel(name = "姓名")
	private String personName;
	/** 性别（0男 1女 2未知） */
	@Excel(name = "性别",readConverterExp = "0=男,1=女")
	private String sex;
	/** 证件类型（0身份证 1护照 2港澳通行证） */
	@Excel(name = "证件类型",readConverterExp = "0=身份证,1=护照,2=港澳通行证")
	private String certificateType;
	/** 证件号码 */
	@Excel(name = "证件号码")
	private String certificateNumber;
	/** 所属组织 */
	private Long deptId;
	//组织名称
	@Excel(name = "所属组织")
	private String deptName;
	/** 家庭地址 */
	@Excel(name = "家庭地址")
	private String address;
	/** 本人电话 */
	@Excel(name = "本人电话")
	private String tel;
	/** 紧急联系人 */
	@Excel(name = "紧急联系人")
	private String linkmanName;
	/** 联系人电话 */
	@Excel(name = "联系人电话")
	private String linkmanTel;
	/** 头像路径 */
	private String avatar;
	/** 是否已删除（0未删除 1删除） */
	private Integer isDeleted;
	/** 标签Id */
	@Excel(name = "标签Id")
	private String tagId;
	/** 标签型号 */
	@Excel(name = "标签型号")
	private String modelNumber;
	/** 标签Id */
	@Excel(name = "标签类型")
	private String modelType;
	/** 绑定状态 */
	private Integer isBind;
	/** 备注 */
	@Excel(name = "备注")
	private String remark;
	/** 创建时间 */
	@Excel(name = "创建时间", dateFormat="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	public String getModelNumber() {
		return modelNumber;
	}

	public void setModelNumber(String modelNumber) {
		this.modelNumber = modelNumber;
	}

	public String getModelType() {
		return modelType;
	}

	public void setModelType(String modelType) {
		this.modelType = modelType;
	}

	@Override
	public Date getCreateTime() {
		return createTime;
	}

	@Override
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Override
	public String getRemark() {
		return remark;
	}

	@Override
	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getPersonId() {
		return personId;
	}

	public void setPersonId(String personId) {
		this.personId = personId;
	}

	public String getPersonName() {
		return personName;
	}

	public void setPersonName(String personName) {
		this.personName = personName;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getCertificateType() {
		return certificateType;
	}

	public void setCertificateType(String certificateType) {
		this.certificateType = certificateType;
	}

	public String getCertificateNumber() {
		return certificateNumber;
	}

	public void setCertificateNumber(String certificateNumber) {
		this.certificateNumber = certificateNumber;
	}

	public Long getDeptId() {
		return deptId;
	}

	public void setDeptId(Long deptId) {
		this.deptId = deptId;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public String getLinkmanName() {
		return linkmanName;
	}

	public void setLinkmanName(String linkmanName) {
		this.linkmanName = linkmanName;
	}

	public String getLinkmanTel() {
		return linkmanTel;
	}

	public void setLinkmanTel(String linkmanTel) {
		this.linkmanTel = linkmanTel;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public Integer getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Integer isDeleted) {
		this.isDeleted = isDeleted;
	}

	public String getTagId() {
		return tagId;
	}

	public void setTagId(String tagId) {
		this.tagId = tagId;
	}

	public Integer getIsBind() {
		return isBind;
	}

	public void setIsBind(Integer isBind) {
		this.isBind = isBind;
	}

	public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("personId", getPersonId())
            .append("personName", getPersonName())
            .append("sex", getSex())
            .append("certificateType", getCertificateType())
            .append("certificateNumber", getCertificateNumber())
            .append("deptId", getDeptId())
            .append("address", getAddress())
            .append("tel", getTel())
            .append("linkmanName", getLinkmanName())
            .append("linkmanTel", getLinkmanTel())
            .append("avatar", getAvatar())
            .append("isDeleted", getIsDeleted())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
			.append("tagId", getTagId())
			.append("isBind", getIsBind())
			.append("deptName", getIsBind())
            .toString();
    }
}
